home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
doom
/
axxwar_1.zip
/
SOURCES
/
LIMIT.QC
< prev
next >
Wrap
Text File
|
1997-03-04
|
4KB
|
132 lines
// AxxWars 0.8
/*
Impulse limiter
Version 1.00
Allows the blocking of certain impulses
*/
.float limitWeapon;
.float lastWeapon;
float (float lWeapon) IsWeaponAllowed =
{
if (lWeapon & self.limitWeapon)
return 0;
else
return 1;
};
void (float lWeapon, float limitWeaponFor) SetLimitWeapon =
{
local float n;
local entity p;
local string s;
local float lWeaponFlag;
sprint(self, "Weapon ");
s=ftos(lWeapon);
sprint(self, s);
sprint(self, " is now off limits for player ");
s=ftos(limitWeaponFor);
sprint(self, s);
sprint(self, "\n");
if (lWeapon==1)
lWeaponFlag=IT_AXE;
else if (lWeapon==2)
lWeaponFlag=IT_SNIPER;
else if (lWeapon==3)
lWeaponFlag=IT_SUPER_SHOTGUN;
else if (lWeapon==4)
lWeaponFlag=IT_NAILGUN;
else if (lWeapon==5)
lWeaponFlag=IT_SUPER_NAILGUN;
else if (lWeapon==6)
lWeaponFlag=IT_GRENADE_LAUNCHER;
else if (lWeapon==7)
lWeaponFlag=IT_ROCKET_LAUNCHER;
else if (lWeapon==8)
lWeaponFlag=IT_LIGHTNING;
p = find(world, classname, "player");
n=1;
while (p != world)
{
if (n==limitWeaponFor || limitWeaponFor==0)
{
p.limitWeapon= p.limitWeapon | lWeaponFlag;
sprint(p, "Weapon ");
s=ftos(lWeapon);
sprint(p, s);
sprint(p, " is now off limits\n");
// Stuff a command into their console so their current
// weapon is changed
stuffcmd(p, "impulse 10;wait;impulse 12;wait\n");
}
p = find(p, classname, "player");
n=n+1;
}
};
void (float lWeapon, float limitWeaponFor) UnSetLimitWeapon =
{
local float n;
local entity p;
local string s;
local float lWeaponFlag;
sprint(self, "Weapon ");
s=ftos(lWeapon);
sprint(self, s);
sprint(self, " is now allowed for player ");
s=ftos(limitWeaponFor);
sprint(self, s);
sprint(self, "\n");
if (lWeapon==1)
lWeaponFlag=IT_AXE;
else if (lWeapon==2)
lWeaponFlag=IT_SNIPER;
else if (lWeapon==3)
lWeaponFlag=IT_SUPER_SHOTGUN;
else if (lWeapon==4)
lWeaponFlag=IT_NAILGUN;
else if (lWeapon==5)
lWeaponFlag=IT_SUPER_NAILGUN;
else if (lWeapon==6)
lWeaponFlag=IT_GRENADE_LAUNCHER;
else if (lWeapon==7)
lWeaponFlag=IT_ROCKET_LAUNCHER;
else if (lWeapon==8)
lWeaponFlag=IT_LIGHTNING;
p = find(world, classname, "player");
n=1;
while (p != world)
{
if (n==limitWeaponFor || limitWeaponFor==0)
{
p.limitWeapon= p.limitWeapon - lWeaponFlag;
sprint(p, "Weapon ");
s=ftos(lWeapon);
sprint(p, s);
sprint(p, " is now allowed\n");
}
p = find(p, classname, "player");
n=n+1;
}
};
/* local float temp;
lWeapon=temp;
while (!(temp & lWeapon))
{ */